package com.ww.java.generic.method.erase;

import java.util.ArrayList;
import java.util.List;

public class ListMaker<T> {

	/**
	 * 编译器不会给出任何警告，尽管（从擦除中）知道在create()内部的new ArrayList<T>中的T被移除了——在运行时，
	 * 这个类的内部没有任何<T>，因此这看起来毫无意义。但是如果你遵从这种思想，并将这个表达式改为new ArrayList()，
	 * 编译器就会给出警告。
	 * @return
	 */
	List<T> create() {
		return new ArrayList<T>();
	}
	
	@SuppressWarnings("unused")
	public static void main(String[] args) {
		ListMaker<String> maker = new ListMaker<>();
		List<String> list = maker.create();
	}
}
